var token=localStorage.getItem("token");
var productId;

$(document).ready(function(){
	$("#modifyUser").val(username);
	//父分类切换
	$("#cateParentNameId").change(function(){
		var parentId=$(this).val();
		changeChildKv(parentId);
	});
	//子分类切换
	$("#cateChildNameId").change(function(){
		var parentId=$(this).val();
		changeSpecId(parentId);
		changeCateBrandIdKv(parentId);

	});
	//父品牌切换
	$("#brandParentNameId").change(function(){
		var parentBrandId=$(this).val();
		changeParentBrandIdKv(parentBrandId);
	});
	//子品牌切换
	$("#brandChildNameId").change(function(){
		var parentBrandId=$(this).val();
		changeProductModel(parentBrandId);
	});
	//型号切换
	$("#cateId").change(function(){
		var parentBrandId=$(this).val();
		InitPic(parentBrandId);
	});

   //表单验证
	var validate = $("#fromEditProduct").validate({
		rules:{
			reasonMessage:{
				required:true
			},

		},
		messages:{
			reasonMessage:{
				required:"该值不能为空！",
			},
		},
		submitHandler:function(){
			sub();
		},
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo ( element.parent() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.parent() );
			else if ( element.is("input[name=captcha]") )
				error.appendTo ( element.parent() );
			else
				error.insertAfter(element);
		},
		validClass : 'rightValidate',
		success: function(label) {
			label.html("&nbsp;").text(" ") ;
		}
	});

	var src = tl_config.his_url;
	var i = src.indexOf('?');
		productId = src.substring(i+11);
        InitProductData(productId);
});


function InitProductData(productId){
	//alert(productId)
		$.ajax({
        	type : 'GET',
    		contentType : 'application/json',
    		async : false,
        	url:server_url+'/rest/product/selectProductById.do?ran='+Math.random()+ '&token=' + token,
        	data:{productId:productId,
        		token:token
        	},
        	dataType : 'json',
        	success:function(data){
				console.log(data);
        		if(data.retCode=='1003'){
					localStorage.clear();
					window.location.href="login.do";
					return;
				}
        		if(data.retCode==='0000'){
        			productData = data.data;
        			//$("#testDiv").text(JSON.stringify(productData));
        			pasteData(data.data);
        			
        			}
        	},
        	error:function(){
        		alert("数据传输失败！");
        	}
        });
	}
function pasteData(data){
		var product = data.productVo;
		$("#productName").val(product.productName);
		var cateParentNames = data.cateParentNames;
		var cateChildNames = data.cateChildNames;
		var brandParentNames = data.brandParentNames;
		var brandChildNames = data.brandChildNames;
		var cateNames = data.cateNames;
		var specRelLists = product.specRelList;
		mapIfExist(function(cateParentNameId){
				$("<option value="+cateParentNameId.cateId+">"+cateParentNameId.cateName+"</option>").appendTo("#cateParentNameId");
			},cateParentNames);

		$("#cateParentNameId").val(product.cateParentNameId);
		var parentId=$("#cateParentNameId").val();
		changeChildKv(parentId);

		$("#cateChildNameId").val(product.cateChildNameId);
		var cateChildNameId=$("#cateChildNameId").val();
		changeCateBrandIdKv(cateChildNameId);

		$("#brandParentNameId").val(product.brandParentNameId);
		var brandParentNameId=$("#brandParentNameId").val();
		changeParentBrandIdKv(brandParentNameId);

		$("#brandChildNameId").val(product.brandChildNameId);
		var parentBrandId=$("#brandChildNameId").val();
		changeProductModel(parentBrandId);

		$("#cateId").val(product.cateId);
		$("#productId").val(product.productId);
		$("#remark").val(product.remark);
		$("#status").val(product.status);
		$("#editor").val(product.productDesc);
		InitPic(product.cateId,product.picId);
		InitSpecRel(product.brandParentNameId,specRelLists);
		
	}
//图片
function InitPic(cateId,picId){
		$.ajax({
			url:server_url+'/rest/ProductModel/selectProductPicByCateId.do?ran='+Math.random()+"&token="+token,
			type:'post',
			async:false,
			data:{cateId:cateId},
			success:function(data){
				if(data.retCode=="0000"){
						var Str='';
			  			var InnerStr='';
			  			Str+="<ul class='clearfix'>";
						for(var i=0;i<data.data.length;i++){
							if(data.data[i].picId==picId){
								InnerStr+=" <li class='sma'><input style='width:15px;height:15px;' value='"+data.data[i].picId+"' name='picId' type='radio' checked='true'/>"+data.data[i].picName+"</li>";
							}else{
								InnerStr+=" <li class='sma'><input style='width:15px;height:15px;' value='"+data.data[i].picId+"' name='picId' type='radio' />"+data.data[i].picName+"</li>";
							}
							
						}
						InnerStr+=" </ul>";
		  			    Str+=InnerStr;
		  			    $("#productPic1").append(Str);
						
	             }
				else{
					easyDialog.open({
						  container : {
							  header : '提示',
						    content : data.retMsg
						  },
						  autoClose : 2000
						});			
				}
			}
		});
	}
//属性
function InitSpecRel(id,specRelLists){
		$.ajax({
			url:server_url+'/rest/prnoduct/selectByCateId.do?ran='+Math.random()+"&token="+token,
			type:'post',
			async:false,
			data:{cateId:id},
			success:function(data){
				console.log(data)
				if(data.retCode=="0000"){
					var name = '';
					for(var i=0;i<data.data.length;i++){
						 name = data.data[i].specName;
					}
					console.log(name);
					var specNames = name.split(",");
					InitData(specNames,data);
					InitSpec(specNames,data,specRelLists);
	             }
				else{
					easyDialog.open({
						  container : {
							  header : '提示',
						    content : data.retMsg
						  },
						  autoClose : 2000
						});			
				}
			}
		});
		//初始化大类数据
		function InitData(specNames,data){
			for (var i = 0; i < data.data.length; i++) {
				 var name=data.data[i].specName;
				 if(specNames.contains(name)) continue;
				      specNames.push(name);
			} 
		} 

		//判断是否包含元素
		Array.prototype.contains = function (element) {
			for (var i = 0; i < this.length; i++) {
		        if (this[i] == element) {	
		            return true;
		        }
		    }
		    return false;
		}
//输出Dom
function InitSpec(specNames,data,specRelLists){
	 for (var i = 0; i < specNames.length; i++) { 		
	  	var Str='';
	  	var InnerStr='';
	  	Str+="<ul class='clearfix'>";
	  	Str+="<li class='sma'>"+specNames[i]+"：</li>";
	  	for (var j = 0; j < data.data.length; j++) {
	  	  	if(data.data[j].specName!=specNames[i])	continue;
	  	  		var b = true;
	  	  		if(data.data[j].type==3){
	  	  			for(var k =0;k<specRelLists.length;k++){
	  	  				if(data.data[j].specValueId==specRelLists[k].specValueId){
	  	  					InnerStr+=" <li class='sma'><input style='width:15px;height:15px;'  value='"+data.data[j].specValueId+"' name='specValueId' type=\"checkbox\" checked=\"true\"/>"+data.data[j].specValueName+"</li>";
	  	  					b = false;
	  	  					break;
	  	  				}
	  	  			}
	  	  			if(b){
	  	  				InnerStr+=" <li class='sma'><input style='width:15px;height:15px;'  value='"+data.data[j].specValueId+"' name='specValueId' type=\"checkbox\"/>"+data.data[j].specValueName+"</li>";	
	  	  					}	
	  	  			}
	  	  			if(data.data[j].type==2){
	  	  				for(var k =0;k<specRelLists.length;k++){
	  	  					if(data.data[j].specValueId==specRelLists[k].specValueId){
	  	  						InnerStr+=" <li class='sma'><input style='width:15px;height:15px;'  value='"+data.data[j].specValueId+"' name='specValueId"+i+"' type=\"radio\" checked=\"true\"/>"+data.data[j].specValueName+"</li>"; 
	  	  						b =false;
	  	  						break;
	  	  				}
	  	  			}
	  	  			if(b){
	  	  				InnerStr+=" <li class='sma'><input style='width:15px;height:15px;'  value='"+data.data[j].specValueId+"' name='specValueId"+i+"' type=\"radio\"/>"+data.data[j].specValueName+"</li>";
	  	  			}
	  	  						
	  	  	}
	  	  			if(data.data[j].type==1){
	  	  			for(var k =0;k<specRelLists.length;k++){
	  	  				if(specRelLists[k].specId==null){
	  	  						InnerStr+=" <li class='sma'><input  value='"+specRelLists[k].specValueName+"' name='specValueName' id='specValueName' type=\"text\" /></li>";
	  	  				}
	  	  			}		
	  	  		}		 
	  	}
	  			InnerStr+=" </ul>";
	  			Str+=InnerStr;
	  			$("#specId").append(Str); 
		    }
		}
	}

//提交
function sub(){	
	var str= $("#fromEditProduct").serialize();
	debugger
	//alert(JSON.stringify($("#fromEditProduct").serialize()));
	for (var int = 0; int < str.split("&").length; int++) {
		if (str.indexOf("specValueId"+int)>0) {
			str = str.replace("specValueId"+int,'specValueId');
		}
		
	}
	//alert(str);return;
	if($("#fromEditProduct").valid()){
		$.ajax({
			url:server_url+'/rest/product/ProductEditre.do?ran='+Math.random()+ '&token=' + token,
			type:'post',
			data:str,
			success:function(data){
				easyDialog.open({container:{header:'温馨提示',content:data.retMsg},autoClose: 2000});
				back();
			}
		});
	}
}

function back(){	
	var url="productList.do?ran="+Math.random();
	tl_config.loadToWorkArea(url);
}

function submitCommit(){
	$("#fromEditProduct").submit();
}

//切换子级分类
function changeChildKv(parentId,remove){
	$("#cateChildNameId").html('<option value="">全部</option>');
	$.ajax({
		url:server_url+'/rest/productCate/selectChildCateKv.do?ran='+Math.random()+"&token="+token,
		type:'post',
		async:false,
		data:{cateId:parentId},
		success:function(data){
			if(data.retCode=="0000"){
				for(var i=0;i<data.data.length;i++){
					$("#cateChildNameId").append("<option value='"+data.data[i].cateId+"'>"+data.data[i].cateName+"</option>");
				}
			}
			else{
				easyDialog.open({
					container : {
						header : '提示',
						content : data.retMsg
					},
					autoClose : 2000
				});
			}
		}
	});
}
//切换子分类选择属性名称
function changeSpecId(parentId,remove){
	$("#specId").find("ul").remove();
	$.ajax({
		url:server_url+'/rest/product/selectByCateId.do?ran='+Math.random()+"&token="+token,
		type:'post',
		async:false,
		data:{cateId:parentId},
		success:function(data){
			if(data.retCode=="0000"){
				console.log(data.data);
				var name = [];
				for(var i=0;i<data.data.length;i++){
					name = data.data[i].specName;
				}
				var specNames = name.split(",");
				InitData(specNames,data);
				InitSpec(specNames,data);
			}
			else{
				easyDialog.open({
					container : {
						header : '提示',
						content : data.retMsg
					},
					autoClose : 2000
				});
			}
		}
	});

}
//初始化大类数据
function InitData(specNames,data){
	for (var i = 0; i < data.data.length; i++) {
		var name=data.data[i].specName;
		if(specNames.contains(name)) continue;
		specNames.push(name);
	}
}

//判断是否包含元素
Array.prototype.contains = function (element) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == element) {
			return true;
		}
	}
	return false;
}

//切换子分类选择父品牌
function changeCateBrandIdKv(parentId,remove){
	$("#brandParentNameId").html('<option value="">全部</option>');
	$.ajax({
		url:server_url+'/rest/ProductBrand/selectParentBrand.do?ran='+Math.random()+"&token="+token,
		type:'post',
		async:false,
		data:{cateId:parentId},
		success:function(data){
			if(data.retCode=="0000"){
				for(var i=0;i<data.data.length;i++){
					$("#brandParentNameId").append("<option value='"+data.data[i].cateId+"'>"+data.data[i].cateName+"</option>");
				}
			}
			else{
				easyDialog.open({
					container : {
						header : '提示',
						content : data.retMsg
					},
					autoClose : 2000
				});
			}
		}
	});
}

//切换父品牌选择子品牌
function changeParentBrandIdKv(parentBrandId,remove){
	$("#brandChildNameId").html('<option value="">全部</option>');
	$.ajax({
		url:server_url+'/rest/ProductBrand/selectChildBrandKv.do?ran='+Math.random()+"&token="+token,
		type:'post',
		async:false,
		data:{brandId:parentBrandId},
		success:function(data){
			if(data.retCode=="0000"){
				for(var i=0;i<data.data.length;i++){
					$("#brandChildNameId").append("<option value='"+data.data[i].cateId+"'>"+data.data[i].cateName+"</option>");
				}
			}
			else{
				easyDialog.open({
					container : {
						header : '提示',
						content : data.retMsg
					},
					autoClose : 2000
				});
			}
		}
	});
}
//切换子品牌选择型号
function changeProductModel(parentBrandId,remove){
	$("#cateId").html('<option value="">全部</option>');
	$.ajax({
		url:server_url+'/rest/ProductModel/selectParentBrand.do?ran='+Math.random()+"&token="+token,
		type:'post',
		async:false,
		data:{cateId:parentBrandId},
		success:function(data){
			if(data.retCode=="0000"){
				for(var i=0;i<data.data.length;i++){
					$("#cateId").append("<option value='"+data.data[i].cateId+"'>"+data.data[i].cateName+"</option>");
				}
			}
			else{
				easyDialog.open({
					container : {
						header : '提示',
						content : data.retMsg
					},
					autoClose : 2000
				});
			}
		}
	});
}
